Exercise usage monitoring system

ABSTRACT

The disclosed embodiments relate to real time monitoring of usage of multiple pieces of exercise equipment and providing exercise based metric data based thereon to devices for aggregation, display or other processing thereof. In particular, the disclosed embodiments facilitate collection of exercise based metric data from various pieces of exercise equipment, such as stationary bikes, treadmills, and the like, in real time, i.e. as the equipment is utilized by an exercising user, combine the collected data in a form suitable for use by various interested devices and broadcast or otherwise disseminate the combined data to the various devices wherein the various devices may access the broadcasted combined data to access the usage metric data from any one or more of the pieces of exercise equipment from which it was collected for subsequent aggregation, display and/or further processing.

REFERENCE TO RELATED APPLICATIONS

This application is a continuation under 37 C.F.R. §1.53(b) of U.S.patent application Ser. No. 13/687,653 filed Nov. 28, 2012 now U.S. Pat.No. 9,147,343, the entire disclosure of which is hereby incorporated byreference, which claims the benefit of the filing date under 35 U.S.C.§119(e) of U.S. Provisional Application Ser. No. 61/565,236 filed Nov.30, 2011, which is hereby incorporated by reference.

BACKGROUND

Monitoring systems for exercise equipment, such as stationary bicycles,treadmills, elliptical machines and the like, are known to measure,track and display the progress of a users exercise routine. Monitoringmay be performed, for example, by a user at a machine via a localdisplay which may be either embedded in the exercise equipment orprovided nearby, in order for the user to track their progress during aworkout with exercise metrics, e.g. calories burned, watts generated,floors climbed, distance traversed, etc., linked to their workout.Additionally, users may be given the ability to store their metrics froma workout session. This is advantageous for the user as it provides theability to track progress over time. If a user, for example, monitorsand stores the metric of “average speed” or “distance” on a exercisebike, they may gain valuable feedback on their progress over manysessions. Likewise a fitness/health club facility may wish to trackindividual or groups of users in order to collect usage and traininginformation, which can be used by the facility to, for example,ascertain popular machines and help encourage and increase the resultsof their uses.

To facilitate monitoring the status or progress of users of exerciseequipment and their metrics, the exercise equipment may provide accessto the usage data via a communications protocol, such as C-SAFE or ANT+,which are known in the art. The use of these protocols allow amonitoring system connected to the exercise equipment to access usagedata, often for re-presentation to a user via a display device.

Monitoring systems, which include exercise systems that track and storeboth equipment use and user workout data in a data storage network, areavailable. One such system is described in U.S. Pat. No. 6,991,586 whichdiscloses a system which captures data from multiple sources, such asexercise equipment, and stores it on a computer server for permanentstorage or interactive analysis of the data combined with entertainmentsystem data. It allows a user to integrate data from a personalmonitoring device, such as a heart-rate device, as well as data fromexercise equipment and display the data for a user. Unfortunately, if auser wishes to monitor the status of their exercise session, they arelimited to doing so via the provided viewing screen. As a result usersare limited from customization and further interaction with the data asthey exercise which may enhance their overall experiences with theexercise sessions. Accordingly there is a need to provide an exerciseusage monitoring system that improves the convenience and enhances ausers workout experience, as well as optimizes the equipment owner'sresources and experiences.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary implementation of a system formonitoring and broadcasting exercise based metrics described herein.

FIG. 2 depicts a flow chart showing operation of the system of FIG. 1.

FIG. 3 shows an illustrative embodiment of a general computer system foruse with the system of FIG. 1.

FIG. 4 depicts a logical representations of an exemplary implementationof an exercise usage monitoring system using the system of FIG. 1.

FIG. 5 depicts an exemplary architecture of an ECOFIT exercise usagemonitoring installation according to one embodiment.

FIG. 6 depicts the device details of an exemplary implementation of alocal installation of the architecture shown in FIG. 5.

FIG. 7 shows a flow chart depicting an exemplary process for bufferingthe data received by the Aggregator shown in FIG. 5.

FIG. 8 illustrates a logical structure of an exemplary packet receivedby the Aggregator shown in FIG. 5.

FIG. 9 illustrates an embodiment of an exemplary configuration web page.

DETAILED DESCRIPTION

The disclosed embodiments relate to substantially real time monitoringof usage of multiple pieces of exercise equipment and providing exercisebased metric data based thereon to devices for aggregation, displayand/or other processing thereof, such as for computation of statistics,fostering of competition among users, equipment maintenance, etc. Inparticular, the disclosed embodiments facilitate collection of exercisebased metric data from various pieces of exercise equipment, such asstationary bikes, treadmills, and the like, in real time, i.e. as theequipment is utilized by an exercising user, combine the collected datain a form suitable for use by various interested devices and broadcastor otherwise disseminate the combined data to the various devices in areadily accessible format wherein the various devices may access thebroadcasted combined data to access the usage metric data of interestfrom any one or more of the pieces of exercise equipment from which itwas collected for subsequent aggregation, display and/or furtherprocessing.

In one embodiment, a system 100 is provided for monitoring usage of aplurality of pieces of exercise equipment 501. In one embodiment, thesystem 100 is implemented as part of an ECOFIT installation, describedin more detail below, manufactured by ECOFIT Networks, located inVictoria, British Columbia, Canada. In particular, FIG. 1 shows a system100 which generally may include a processor 108 and a non-transitorymemory 110 coupled therewith and which may be implemented by one or moreof the processor 302 and memory 304 as described below with respect toFIG. 3. In particular, the system 100 may be implemented, at least inpart, in an application specific device, desktop computer, portablecomputer, mobile device, such as a cellular telephone, smart phone,mobile navigation device or tablet computing device. Further, one ormore parts of the system 100 may be implemented in a server, e.g. remotefrom the desktop/portable computer or mobile device, coupled therewithvia a network, such as a wired or wireless network, or combinationthereof, e.g. the network 320 described below with respect to FIG. 3. Inone embodiment, the system 100 implements the base station 415 andaggregator 420, which may be implemented separately or in combination503, described in more detail below. For example, the base station 415may be implemented as a standalone application specific device enclosedin a housing and including the necessary hardware, e.g. radios,processors, memory, etc. and software, and coupled with the aggregator420, such as via a wired or wireless connection, which may beimplemented as a separate standalone device enclosed in a housing, or ina computer or other device as described. Alternatively, thefunctionality of both the base station 415 and aggregator 420 may becombined in a singular device as described. It will be appreciated thatthe physical arrangement of described functionality is dependent uponthe implementation and that all physical arrangements which implementedthe described functionality, now available or later developed arecontemplated herein.

Herein, the phrase “coupled with” is defined to mean directly connectedto or indirectly connected through one or more intermediate components.Such intermediate components may include both hardware and softwarebased components. Further, to clarify the use in the pending claims andto hereby provide notice to the public, the phrases “at least one of<A>, <B>, . . . and <N>” or “at least one of <A>, <B>, . . . <N>, orcombinations thereof” are defined by the Applicant in the broadestsense, superseding any other implied definitions herebefore orhereinafter unless expressly asserted by the Applicant to the contrary,to mean one or more elements selected from the group comprising A, B, .. . and N, that is to say, any combination of one or more of theelements A, B, . . . or N including any one element alone or incombination with one or more of the other elements which may alsoinclude, in combination, additional elements not listed.

In one embodiment, the system 100 includes a base station 415 operativeto communicate, via a wired or wireless connection 410, with each pieceof exercise equipment 501. The connection 410 may be implemented using aproprietary or non-proprietary communication medium and/or protocol,including Ethernet, Modbus, 802.11, Bluetooth, Zigbee, or other wired,radio frequency, optical or acoustic medium and is implementationdependent. The base station may be implemented as first logic 112 storedin the memory 110 and executable by the processor 108 to cause theprocessor 108 to receive usage metric data, indicative of the currentutilization of each piece of exercise equipment, while the piece ofexercise equipment is being utilized, i.e. substantially in real time,e.g. subject to processing and transmission delay, etc. The usage metricdata may comprise any measure indicate of the usage, such as power,distance, calories, etc. as will be described in more detail below. Theusage data may be received in the form of data packets, described inmore detail below with respect to FIG. 8, which include data, e.g.sample data, representative of usage, e.g. cumulative, instantaneous, orotherwise, for or over a period of time. In one embodiment, the usagemetric data may be received from the equipment 501 suitably configuredto collect and provide the requisite data in the prescribed format.Alternatively, or in addition thereto, sensor nodes 502, as describedbelow, may be affixed or otherwise connected to exercise equipment 501which is incapable or not configured to provide the usage metric data asdescribed, such as exercise equipment 501 having less functionalelectronic management systems, or purely mechanical exercise equipment501 such as mechanical stationary bicycles, human powered cardiomachines, weight lifting or other anaerobic exercise equipment. Thesensor nodes 502 may be utilized to retrofit such exercise equipment andrender it compatible with the system 100 by generating usage metricdata, e.g. by extracting or otherwise measuring usage, and providingthat usage metric data to the system 100 as described.

The system 100 further includes an aggregator 420 coupled with the basestation 415. The aggregator 420 may be implemented as second logic 114stored in the memory 110, or a different memory separate therefrom, andexecutable by the processor 108, or a different processor separatetherefrom but in communication therewith, to cause the processor 108, orseparate processor, to aggregate, e.g. form, group, cluster or otherwisecollect or gather, the received usage metric data for each piece ofexercise equipment as it is received by the base station, addressablycombine the aggregated received usage metric data for each piece ofexercise equipment and broadcast the addressably combined aggregatedreceived usage metric data over a network 520, wherein one or moredevices, such as displays 435, mobile devices 510, e.g. smartphones 425,tablet computers, and/or other data consumers, etc. coupled thereto mayaccess aggregated received usage metric data of one or more particularpieces of exercise equipment of the plurality of pieces of exerciseequipment from the broadcasted addressably combined aggregated receivedusage metric data. Each aggregate of received usage metric data from aparticular piece of exercise equipment may be a metric stream, i.e. asubstantially continuous time series of data values representing realtime or on-going usage of the particular piece of equipment. As such,the addressably combined aggregated received usage metric data may becomposed of multiple decentralized metric streams 440 as will bedescribed.

It will be appreciated that the first and second logic 112, 114 may beimplemented as computer readable instructions stored, for example, inthe memory 110. It will be appreciated that the system 100 may furtherinclude suitable wired and/or wireless interfaces, e.g. networkinterfaces, radios, etc., not shown, for interconnecting with theexercise equipment 501 and the devices 506, described in more detailbelow.

The usage metric data may be periodically or continuously received fromeach piece of exercise equipment 501. For example, the base station 415may be operative to poll each piece of exercise equipment 501 to requestusage metric data therefrom. Alternatively, each piece of exerciseequipment 501 may push usage metric data to the base station 415, eithersynchronously or asynchronously. In one embodiment, wherein a particularpiece of exercise equipment is not being used, no data may be receivedtherefrom. Alternatively, unused equipment 501 may send data indicativethat the equipment is available or otherwise operational, e.g. a statusor heartbeat message.

Generally, the base station 415 may communicate with each piece ofexercise equipment 501 using a first protocol, such as a proprietary ornon-proprietary wireless protocol, e.g. the wireless protocol describedbelow, whereas the aggregator 420 may broadcast the addressably combinedaggregated received usage metric data in a second protocol differentfrom the first protocol. In one embodiment the addressably combinedaggregated received usage metric data comprises a data stream formattedaccording to the User Datagram Protocol (“UDP”) multicast format whichenables interested devices 506 to substantially simultaneously accessany of the usage metric data from the addressably combined aggregatedreceived usage metric data.

To facilitate device 506 access to the addressably combined aggregatedreceived usage metric data, in one embodiment, each piece of exerciseequipment may be assigned a unique identifier, such as a UDP portnumber, the unique identifier used to address the aggregated receivedusage metric data received therefrom in the addressably combinedaggregated received usage metric data wherein any of the one or moredevices may access the aggregated received usage metric data of aparticular piece of exercise equipment from the broadcasted addressablycombined aggregated received usage metric data based on the uniqueidentifier assigned to the particular piece of exercise equipment. Inone embodiment, the one or more devices may access only the aggregatedreceived usage metric data of interest and ignore aggregated receivedusage metric data of the remaining pieces of exercise equipment of theplurality of pieces of exercise equipment.

The network 520 over which the addressably combined aggregated receivedusage metric data is broadcasted may be a public, private, wired orwireless network utilizing a suitable proprietary or non-proprietarynetwork. In one embodiment, the network 520 is a private subnetutilizing the UDP/TCP protocol which is dedicating to carrying theaddressably combined aggregated received usage metric data, for example,so as to avoid congestion on other networks.

FIG. 2 depicts a flow chart showing operation of the system 100 ofFIG. 1. In particular FIG. 2 shows a computer implemented method formonitoring usage of a plurality of pieces of exercise equipment 501which includes: receiving, by a processor 108, e.g. via a wired orwireless network 410, periodically or continuously, usage metric data,indicative of the current utilization of each piece of exerciseequipment 501, while the piece of exercise equipment 501 is beingutilized (Block 202), e.g. substantially in real time, from theequipment 501 directly or via a sensor node 502 suitably affixedthereto; aggregating, by the processor 108 or a different processorcoupled therewith, the received usage metric data for each piece ofexercise equipment 501 as it is received (Block 204), e.g. into acollection or stream such as a decentralized metric stream; addressablycombining, by the processor 108 or a different processor, e.g. based ona unique UDP port numbers assigned and addresses to each piece ofexercise equipment 501 or to UDP groups, the aggregated received usagemetric data for each piece of exercise equipment 501 (Block 206), suchas in the UDP multicast format; and broadcasting, by the processor 108or a different processor, the addressably combined aggregated receivedusage metric data over a network 520 (Block 208), such as a privatesub-network dedicated therefor; and wherein one or more devices 506,such as display devices 435, mobile devices 510, e.g. smartphones 425 ortablet devices, or other data consumers, coupled thereto may access,e.g. selectively and/or substantially simultaneously, the aggregatedreceived usage metric data of one or more particular pieces of exerciseequipment 501 of the plurality of pieces of exercise equipment 501 fromthe broadcasted addressably combined aggregated received usage metricdata, such as based on the uniquely assigned UDP port number.

In one alternative implementation, the operation of the system 100further includes requesting, by the processor, usage metric data fromeach piece of exercise equipment, the received usage metric data beingresponsive to the request (Block 210).

Referring to FIG. 3, an illustrative embodiment of a general computersystem 300 is shown. The computer system 300 can include a set ofinstructions that can be executed to cause the computer system 300 toperform any one or more of the methods or computer based functionsdisclosed herein. The computer system 300 may operate as a standalonedevice or may be connected, e.g., using a network, to other computersystems or peripheral devices. Any of the components discussed above,such as the processor 108, may be a computer system 300 or a componentin the computer system 300. The computer system 300 may implement asystem, of which the disclosed embodiments are a component thereof.

In a networked deployment, the computer system 300 may operate in thecapacity of a server or as a client user computer in a client-serveruser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 300 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, a set-top box (STB), a personaldigital assistant (PDA), a mobile device, a palmtop computer, a laptopcomputer, a desktop computer, a communications device, a wirelesstelephone, a land-line telephone, a control system, a camera, a scanner,a facsimile machine, a printer, a pager, a personal trusted device, aweb appliance, a network router, switch or bridge, or any other machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine. In a particularembodiment, the computer system 300 can be implemented using electronicdevices that provide voice, video or data communication. Further, whilea single computer system 300 is illustrated, the term “system” shallalso be taken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

As illustrated in FIG. 3, the computer system 300 may include aprocessor 302, e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), or both. The processor 302 may be a component ina variety of systems. For example, the processor 302 may be part of astandard personal computer or a workstation. The processor 302 may beone or more general processors, digital signal processors, applicationspecific integrated circuits, field programmable gate arrays, servers,networks, digital circuits, analog circuits, combinations thereof, orother now known or later developed devices for analyzing and processingdata. The processor 302 may implement a software program, such as codegenerated manually (i.e., programmed).

The computer system 300 may include a memory 304 that can communicatevia a bus 308. The memory 304 may be a main memory, a static memory, ora dynamic memory. The memory 304 may include, but is not limited tocomputer readable storage media such as various types of volatile andnon-volatile storage media, including but not limited to random accessmemory, read-only memory, programmable read-only memory, electricallyprogrammable read-only memory, electrically erasable read-only memory,flash memory, magnetic tape or disk, optical media and the like. In oneembodiment, the memory 304 includes a cache or random access memory forthe processor 302. In alternative embodiments, the memory 304 isseparate from the processor 302, such as a cache memory of a processor,the system memory, or other memory. The memory 304 may be an externalstorage device or database for storing data. Examples include a harddrive, compact disc (“CD”), digital video disc (“DVD”), memory card,memory stick, floppy disc, universal serial bus (“USB”) memory device,or any other device operative to store data. The memory 304 is operableto store instructions executable by the processor 302. The functions,acts or tasks illustrated in the figures or described herein may beperformed by the programmed processor 302 executing the instructions 312stored in the memory 304. The functions, acts or tasks are independentof the particular type of instructions set, storage media, processor orprocessing strategy and may be performed by software, hardware,integrated circuits, firm-ware, micro-code and the like, operating aloneor in combination. Likewise, processing strategies may includemultiprocessing, multitasking, parallel processing and the like.

As shown, the computer system 300 may further include a display unit314, such as a liquid crystal display (LCD), an organic light emittingdiode (OLED), a flat panel display, a solid state display, a cathode raytube (CRT), a projector, a printer or other now known or later developeddisplay device for outputting determined information. The display 314may act as an interface for the user to see the functioning of theprocessor 302, or specifically as an interface with the software storedin the memory 304 or in the drive unit 306. A tactile output may furtherbe provides such a mechanical or piezoelectric vibration motor.

Additionally, the computer system 300 may include an input device 316configured to allow a user to interact with any of the components ofsystem 300. The input device 316 may be a number pad, a keyboard, or acursor control device, such as a mouse, or a joystick, touch screendisplay, remote control, accelerometer, motion sensor, proximity sensor,optional sensor, e.g. a camera, or any other device operative tointeract with the system 300.

In a particular embodiment, as depicted in FIG. 3, the computer system300 may also include a disk or optical drive unit 306. The disk driveunit 306 may include a computer-readable medium 310 in which one or moresets of instructions 312, e.g. software, can be embedded. Further, theinstructions 312 may embody one or more of the methods or logic asdescribed herein. In a particular embodiment, the instructions 312 mayreside completely, or at least partially, within the memory 304 and/orwithin the processor 302 during execution by the computer system 300.The memory 304 and the processor 302 also may include computer-readablemedia as discussed above.

The present disclosure contemplates a computer-readable medium thatincludes instructions 312 or receives and executes instructions 312responsive to a propagated signal, so that a device connected to anetwork 320 can communicate voice, video, audio, images or any otherdata over the network 320. Further, the instructions 312 may betransmitted or received over the network 320 via a communicationinterface 318. The communication interface 318 may be a part of theprocessor 302 or may be a separate component. The communicationinterface 318 may be created in software or may be a physical connectionin hardware. The communication interface 318 is configured to connectwith a network 320, external media, the display 314, or any othercomponents in system 300, or combinations thereof. The connection withthe network 320 may be a physical connection, such as a wired Ethernetconnection or may be established wirelessly as discussed below.Likewise, the additional connections with other components of the system300 may be physical connections or may be established wirelessly.

The network 320 may include wired networks, wireless networks, orcombinations thereof. The wireless network may be a cellular telephonenetwork, an 802.11, 802.16, 802.20, or WiMax network. Further, thenetwork 320 may be a public network, such as the Internet, a privatenetwork, such as an intranet, or combinations thereof, and may utilize avariety of networking protocols now available or later developedincluding, but not limited to TCP/IP based networking protocols.

Embodiments of the subject matter and the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Embodiments ofthe subject matter described in this specification can be implemented asone or more computer program products, i.e., one or more modules ofcomputer program instructions encoded on a computer readable medium forexecution by, or to control the operation of, data processing apparatus.While the computer-readable medium is shown to be a singlenon-transitory medium, the term “computer-readable medium” includes asingle non-transitory medium or multiple media, such as a centralized ordistributed database, and/or associated caches and servers that storeone or more sets of instructions. The term “computer-readable medium”shall also include any medium that is capable of storing, encoding orcarrying a set of instructions for execution by a processor or thatcause a computer system to perform any one or more of the methods oroperations disclosed herein. The computer readable medium can be amachine-readable storage device, a machine-readable storage substrate, amemory device, or a combination of one or more of them. The term “dataprocessing apparatus” encompasses all apparatus, devices, and machinesfor processing data, including by way of example a programmableprocessor, a computer, or multiple processors or computers. Theapparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to capturecarrier wave signals such as a signal communicated over a transmissionmedium. A digital file attachment to an e-mail or other self-containedinformation archive or set of archives may be considered a distributionmedium that is a tangible storage medium. Accordingly, the disclosure isconsidered to include any one or more of a computer-readable medium or adistribution medium and other equivalents and successor media, in whichdata or instructions may be stored.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, can be constructed to implement one or moreof the methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

Although the present specification describes components and functionsthat may be implemented in particular embodiments with reference toparticular standards and protocols, the invention is not limited to suchstandards and protocols. For example, standards for Internet and otherpacket switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP,HTTPS) represent examples of the state of the art. Such standards areperiodically superseded by faster or more efficient equivalents havingessentially the same functions. Accordingly, replacement standards andprotocols having the same or similar functions as those disclosed hereinare considered equivalents thereof.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a standalone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

As used in this application, the term ‘circuitry’ or ‘circuit’ refers toall of the following: (a) hardware-only circuit implementations (such asimplementations in only analog and/or digital circuitry) and (b) tocombinations of circuits and software (and/or firmware), such as (asapplicable): (i) to a combination of processor(s) or (ii) to portions ofprocessor(s)/software (including digital signal processor(s)), software,and memory(ies) that work together to cause an apparatus, such as amobile phone or server, to perform various functions) and (c) tocircuits, such as a microprocessor(s) or a portion of amicroprocessor(s), that require software or firmware for operation, evenif the software or firmware is not physically present.

This definition of ‘circuitry’ applies to all uses of this term in thisapplication, including in any claims. As a further example, as used inthis application, the term “circuitry” would also cover animplementation of merely a processor (or multiple processors) or portionof a processor and its (or their) accompanying software and/or firmware.The term “circuitry” would also cover, for example and if applicable tothe particular claim element, a baseband integrated circuit orapplications processor integrated circuit for a mobile phone or asimilar integrated circuit in server, a cellular network device, orother network device.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andanyone or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a mobile telephone, a personal digital assistant(PDA), a mobile audio player, a Global Positioning System (GPS)receiver, to name just a few. Computer readable media suitable forstoring computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of examplesemiconductor memory devices, e.g., EPROM, EEPROM, and flash memorydevices; magnetic disks, e.g., internal hard disks or removable disks;magneto optical disks; and CD ROM and DVD-ROM disks. The processor andthe memory can be supplemented by, or incorporated in, special purposelogic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described in this specification can be implemented on a devicehaving a display, e.g., a CRT (cathode ray tube) or LCD (liquid crystaldisplay) monitor, for displaying information to the user and a keyboardand a pointing device, e.g., a mouse or a trackball, by which the usercan provide input to the computer. Other kinds of devices can be used toprovide for interaction with a user as well; for example, feedbackprovided to the user can be any form of sensory feedback, e.g., visualfeedback, auditory feedback, or tactile feedback; and input from theuser can be received in any form, including acoustic, speech, or tactileinput.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front end component, e.g., aclient computer having a graphical user interface or a Web browserthrough which a user can interact with an implementation of the subjectmatter described in this specification, or any combination of one ormore such back end, middleware, or front end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

Referring now to FIG. 4, a logical representations of an exemplaryimplementation of an exercise usage monitoring system is illustrated,which may be referred to as the “ECOFIT system”, which is a dataextraction and utilization solution targeted to fitness equipment. Inone embodiment, it has a focus on energy producing “green” systems suchas the SportsArt Green System, manufactured by SportsArt Fitness locatedin Taiwan, Republic of China. The ECOFIT system is composed ofon-the-floor facility installations (ECOFIT Local Installations 402) anda web presence driven by a database to store extracted data 401. TheECOFIT Local Installation 402 is abstracted from the type of exerciseequipment it is extracting data from at the source using ECOFIT SensorNodes 405. After the sensor nodes 405, any data extracted is carried onthe ECOFIT Wireless Link 410 to data receivers (ECOFIT Base Stations 415paired with Aggregators 420) and converted to ECOFIT Metrics, which canbe made use of in real-time or substantially real-time at the localinstallation using ECOFIT Displays 435 and smart phone applications 425.It should be appreciated that an ECOFIT Display 435 may be any typicaldisplay, such as the display 314 described above with respect to FIG. 3,which enables a user to view display information from a connecteddevice. The metrics and are pushed up to the ECOFIT Database 401 forfurther metric extraction and storage for later use. The ECOFIT LocalInstallation 402 may further include Peer to Peer adapter 430capabilities and decentralized metrics streams 440.

The components of the ECOFIT Website and Database 401 allow forconfiguration of components of the ECOFIT Local Installations 402 aswell as user session review, user registration to become ECOFIT Networkmembers 445, and other value-added functionality such as data sessionstorage 450 for the user. While the database is primarily for usersession storage, it is also used in concert with the website to makeavailable the ECOFIT Maintenance Program 460 and the ECOFIT PointsProgram 455. Statistics are also made available to advertisers and otherinterested parties through the ECOFIT Database and Website via atargeted advertisement based on demographic metric 470 which may also bedelivered through ECOFIT installation displays. These features are madeavailable mostly through the website using function-specific portals fordifferent types of users (ECOFIT members, facility owners, equipmentmanufacturers etc.). In addition, the Website and Database 402capabilities may also provide Installation Configuration 465capabilities for a facility owner.

ECOFIT Local Installation

Referring now to FIG. 5, an exemplary architecture of an ECOFIT exerciseusage monitoring installation according to one embodiment isillustrated. Local sub-systems 550 a, which can be physically located inthe same fitness facility or at separate locations, generally includevarious pieces of exercise equipment each fitted with a sensor node 502,which communicates with a Base Station and Aggregator components 503.The Base Station and Aggregator components 503 communicates both with anexternal, e.g. ECOFIT, server and database 504 via a network, such asthe Internet, as well as displays and other UDP based devices 506, via alocal network 520, such as a dedicated subnet. A wireless link ornetwork 410 enables the equipment and sensors nodes 502 to communicatewith the Base Station and Aggregator components 503, whereas a separatecommunications network 520 allows for the Base Station and Aggregatorcomponents 503 to communicate to other UDP based devices. In operationthe network 410 utilizes a protocol that may enable communication ofstandardized data to the Base Station and Aggregator components 503, andthe network 520 may be an open protocol network, such as UDP, UDPMulticast, JSON-RPC over TCP, TLS, web sockets, etc., which may allowany user or facility device to be configured easily with standardsoftware programs in order to receive and display the data.

In one embodiment, the ECOFIT installation is supported with a singlerouter to create a subnet inside a local installation 550 wherereal-time metrics from equipment can be collected and disseminated,equipment containing Sensor Nodes 502, Aggregators and Base Stations 503to collect metrics, Displays to display metrics 506 and may also includeInverters to feed generated power from power generating equipment backto the power grid (not shown).

Referring now to FIG. 6, a detailed architecture of the ECOFIT System isillustrated. The equipment portion of an ECOFIT Local Installation 550consists of fitness equipment 501 and inverters which include eithercoupled to or embedded within them ECOFIT Sensor Node 405. The ECOFITsystem is configured to allow for easy customization to variableequipment communication protocols and metric interpretation. Equipmentcan be power generating (for example for feed power back to the gridthrough an inverter), self-powering (for example removing the need foran external power supply but also not feeding power back into the grid)and powered (for example, requiring a power supply, but not feedingpower generated back into the grid.).

Sensor Node

The Sensor Node 405 is a combination of a wireless radio and an IDreader with a protocol module responsible for communicating with theunderlying fitness equipment and extracting manufacturer-specificmetrics. ID readers may include a RFID (Radio Frequency Identification),a Quick Response (“QR”) Code reader or another reader based technologythat may be used to personally identify a user of the exerciseequipment. The protocol module will implement the appropriatecommunication protocol for the equipment, such as the ANT, ANT+ or CSAFEprotocol, and may be done over a wireless communications medium such asRF, Bluetooth low energy, or a other wired medium, or a combination ofboth mediums. The metrics extracted from the equipment is defined by theinstallation configuration and can be changed as new metrics are needed.

In one embodiment of the invention the ID reader portion of a SensorNode 405 is responsible for reading the unique ID of the ECOFIT RFIDmember card when a user begins a session on the equipment 501. Thisunique ID is transmitted by the Sensor Node 405 over the Wireless Link410 or network to the Base Station 415 and Aggregator 420 and thenrelayed to the ECOFIT Database 505 where the user's name is extractedand returned. This user name can then be used at the Local Installation550 for various purposes such as labeling the user's real-time metricfeed on a Display 435 in the facility. Alternately the user name is readdirectly from the ID card and used at the Local Installation 550,ensuring the user may immediately begin a session and have their namedisplayed on a Display 435 even if communications to the ECOFIT Database505 is interrupted.

Dropping the ID card onto a piece of equipment starts a session,removing the card ends the session. In one embodiment where a proximitycard is utilized, such as a RFID card, the login and logout is doneautomatically. In an alternate embodiment where a user scanninglogin/logout is utilized, such as with a QR code, the user may logout toclose the session or it may be done automatically using a definedtimeout of inactivity or non-utilization of the equipment 501, asdetected by ECOFIT system.

The Base Station 415 contains a wireless transceiver that polls itsassociated Sensor Nodes 405, over the Wireless Link 410, andcommunicates to receive metrics from the Sensor Nodes 405. The BaseStation 415 is also responsible for initial identification of its SensorNodes 405 and assigning these nodes their frequency channels.

Base Station

The Base Station 415 may include a storage memory, such as memory 304,which is configured to store configuration data for the ECOFIT system orhold commands in memory until can be forwarded to the Sensor Nodes 405.It will be appreciated that the Base Station 415 and Aggregator 420 maybe provided as separate devices for an installation, or as a combineddevice for ease of use and installation by the facility.

Wireless Link

The Wireless Link 410 creates a communication network with the use of aradio module relaying data from the Sensor Node 405 to a Base Station415. Each Sensor Node 405 is associated to a single Base Station 415according to the installation configuration.

The Wireless Link 410 implements a frequency hopping scheme to allow forreduced interference from other RF sources. In one embodiment theWireless Link 410 communicates data in a proprietary protocol, and in analternate embodiment in a standard or open protocol. The frequencyhopping scheme operates via two radios on the Base Station 415, whereradio 1 is used to collect metrics from Sensor Nodes 405 and radio 2 isused to identify Sensor Nodes 405 that have lost sync with the BaseStation 415. The process which the Sensor Node 405 moves the data viathe Wireless Link 415 is described below:

-   -   Radio 1 in the Base Station 415 sends sync packet to Sensor Node        405 containing the Sensor Node ID and the next 10 channels in        the frequency hopping array.    -   Sensor Node 405 uses auto acknowledge with payload to return        data to the Base Station 415. If the Sensor Node 405 has more        than 1 packet worth of data, it requests the Base Station 415        send another transmission to transfer the additional data.    -   After each sample is sent or time expires the Sensor Node 405        moves to the next channel in the channel array.    -   If the Sensor Node 405 reaches the end of the channel array        after having timed out ten times (ten seconds without Base        Station connectivity) the Sensor Node jumps to one of the base        channels to regain sync from radio 2.    -   To regain synchronization, there are three base channels which        the system uses (one low channel, one medium channel, one high        channel to avoid possible interference). The Sensor Node 405        spends ⅓ of a second on each channel waiting for the Base        Station 415 to tell it what channel to go to.    -   Radio 2 sends the Sensor Node IDs and the current channel they        should be on for each Sensor Node 405 which is missing on each        of the three base channels once per ⅓ of a second (3 times per        second on each base channel, 9 transmissions total).    -   When the Sensor Node 405 hears its ID and channel it jumps to        the channel and waits for a timeframe, 1 second, for radio 1 to        ask for its data. If it does not hear radio 1 within this        timeframe it returns to the base channel to get the next channel        to move to.        Aggregator

The Aggregator 420, which may be implemented in software which mayreside on a computer system, such as the computer system 300 describedabove with respect to FIG. 3, may be combined with or paired to one ormore Base Stations 415. It is responsible for receiving the metricswhich the Base Station 415 captures from Sensor Nodes 405. The metricsare then processed to ECOFIT metrics, which may provide a standardmetric system to compare and communicate data over the system. Once thereceived metrics are converted into ECOFIT metrics, they are streamedvia UDP multicast over the network 520 for consumption by players andany other devices that may connect to a UDP multicast or other internetbased readers, such as displays, tablets or smartphones.

Each Aggregator 420 is assigned a UDP multicast IP address while eachpiece of equipment 501 (identified by equipment ID residing on theSensor Node 405) associated with that Aggregator 420 is assigned a UDPport number from 1025 up. In this arrangement, a metrics consumer needonly be connected to the local network, such as the network 520, andknow the multicast IP address and port number of the piece of equipmentit needs to consume metrics from and a real-time socket may be created.The data is buffered at the Aggregator 420 as a session and when asession is complete it may be relayed to the ECOFIT Database 505. Asdescribed in detail below, the session may not be forwarded to theECOFIT Database 505 until a session is complete.

Referring to FIG. 7, the process which the Aggregator 420 data isbuffered as it is received is described.

When data arrives (block 705) the Aggregator confirms if it is a fullpacket of data (block 710). If not it continues to collect the data, butonce a full packet is noted, the Aggregator extracts the appropriatedata, such as the user ID, equipment ID and associated metrics (block720). If a new session has been identified with the information in thepacket (block 730), a UDP multicast session is started (block 731) andthen session tracking in the Aggregator 420 is initiated (block 732). Ifno new session is identified the Aggregator checks to see if the sessionhas ended (block 735) and if not continues to track and record thesession, as well as continuously transmit the metrics via UDP multicast(block 740), on the network 520. This allows for any user or device 435510 511 to receive and display the data as it is being buffered in theAggregator 420. If the session has ended (block 735) a UDP multicastsession end signal (block 736) is sent.

Once the Aggregator 420 identifies that a session has ended it willtransmit the data to the ECOFIT Database 505. As will be described laterthe identification of a session status is included in the data. Inoperation transmission of the session is relayed via a web protocol,including but not limited to TCP, JSON-RPC over TPC, SOAP, REST or otherinternet capable protocol, to interface to the ECOFIT Database 505. TheAggregator does not delete the session data until conformation it hasbeen received and stored by the ECOFIT Database 505.

To transfer the session from the Aggregator 420 to the ECOFIT Database505 a web server based message may be sent, such as via a HTTP Postoperation. This allows the message to be formatted in a common way totransmit the data. In operation a HTTP Post sends a string of data whichhas contains all the sampled data metrics, cumulative aggregate datametrics, and any other relevant data such as a start and stop timestampfor the ECOFIT Database 505 to use. For example a submission from theAggregator 420 to the ECOFIT Database 505 for a session may be in theform of:

-   {“aggregateMetrics”:    {“0000”:30.0,“0001”:160.9344,“0003”:2.0,“0004”:11.10447    36,“0005”:12.9763947789,“0007”:17.702784,“0008”:0.0900537959764,“0009”:0.    0726179256014,“000B”:0.119494460046,“000C”:28.0,“000D”:32.1578947368,“0    00F”:45.0,“0010”:93.0,“0011”:91.5,“0013”:93.0,“0014”:0.2,“0015”:0.4210526315    79,“0017”:0.8,“0018”:79.9473684211,“001A”:154.0,“001B”:14.6842105263,“001    D”:64.0,“001E”:2.0,“001F”:0.0774472222222,“1000”:0.421863611111},    “samples “:[{“metrics”:    {“001F”:0.0,“0013”:90.0,“0015”:0.0,“0000”:3.0,“0004”:11.9091456,“0009”:0.041984540016,“0017”:0.0,“001A”:3.0,“001E”:0.0,“0005”:5.9545728,“0    01D”:0.0,“0008”:0.0839690800321,“000F”:22.0,“0018”:1.5,“0007”:11.9091456,”    0010”:90.0,“000C”:22.0,“001B”:0.0,“0001”:0.0,“1000”:0.000833333333333,“001    1”:90.0,“000D”:11.0,“0003”:0.0,“0014”:0.0,“000B”:0.0839690800321},“offset”:0},    {“metrics”:    {“0007”:17.702784,“0004”:15.4497024,“0017”:0.8,“001A”:154.0,“1    000”:0.279301388889,“0001”:160.9344,“001F”:0.0560844444444,“001E”:21.0,“0    00F”:45.0,“000D”:30.5833333333,“0009”:0.0700355959491,“000C”:40.0,“0013”:    92.0,“0015”:0.433333333333,“0018”:83.8333333333,“0010”:92.0,“0005”:12.4992    384,“001D”:64.0,“0000”:154.0,“0011”:91.0,“0014”:0.8,“000B”:0.119494460046,    “0003”:1.0,“001B”:16.8333333333,“0008”:0.0647261658581},“offset”:10}],“start    “:”2012-06-19T14:02:48.427”,“end”:“2012-06-19T14:03:08.377”,“rfid”:“D0020CBF52004860”,“facility”:“8d679177-0d97-42ad-bfc8-23820d977aba”,“equipment”:“000000001546DDAD”}

In another example, retrieval of data from the ECOFIT Database 505 tothe Aggregator occurs in the same format. For example, a HTTP Getoperation can be used to retrieve member profile data, which may be inthe form of: {“screenName”:“Brendan”,“flags”:“0003”,“rate”:{“metricID”:“001F”,“factor”:2. 0}}

The Aggregator 420 may be run along side an ECOFIT Display 435 on thesame computer, or may located separately.

Display

ECOFIT Displays 435 may include any display unit 315 that displaysinformation or data from the system for a user. In one embodiment theECOFIT Display 435 is customizable and utilizes commercial digital mediatechnology, such as Broadsign display technology, manufactured byBroadSign International, located in Montreal Canada, as well as a hostof internet enabled widgets that may consume from the local network anddisplay real-time metrics from individual pieces of equipment. Internetenabled widgets may include Flash, Silverlight, HTML5 or other formatsknown in the art. The use of Broadsign display technology allows forfull customization of each display, a range of data feeds beyond theECOFIT local network metrics data (RSS feeds, streaming video). Inpractice, a display is composed of the Broadsign software which resideson a computer which is paired to a monitor. The display software mayreside on the same computer as an Aggregator 420.

Display content can be customized as either an ECOFIT service or throughthe ECOFIT website by facility owners. Information such as fitness classschedules and competition results can be displayed along-sideadvertisement campaigns and real-time metric feeds.

Other displays, such as personal displays provided by a users smartphoneor tablet 510 511, also can be configured to display customized data forthe user, which may include custom applications for a user. In operationsmartphone or tablet 510 511 application may connect to the ECOFITservice once the smartphone connects to the network 520, the applicationconfigured to scan the network 520 to find the appropriate Aggregator420 to connect and display the broadcasted data from.

Session

A session starts when a user identifies themselves to the equipment,such as linking their ID card at a piece of equipment or otherinitiation using an application on their smart device or tablet. Whilethe user is using the equipment, metrics are captured and buffered atthe Aggregator 420 via the Base Station 415. When the user removes theirRFID card to signal to the Sensor Node that the session it completed theAggregator sends the buffered session to the Database. In one embodimentthe session is defined as a set of captured metrics over the span of auser's use of a piece of equipment and is associated with an ID uniqueidentifier, such as the RFID, a Sensor Node unique identifier and astart and stop time that is relative to the equipment use. In analternate embodiment a session may be defined as a user that utilizesmultiple pieces of equipment, e.g., a “circuit”. For a user it may beadvantageous to capture metrics from their exercise circuit and havethem displayed or stored as one session. In a first example providing acircuit as a single session for a user may be done by accounting for atimespan that may elapse between the stop time of a first session andthe start of a second session, which would account for the time requiredfor a user to move between equipment and give the perspective from theuser that the session is a continuous session. In a second example thesession may be paused by a user. For example a user may begin a sessionon running equipment and then after completing use on the runningmachine virtually pause the session, which may occur by removing theRFID card or pausing the session on their smart phone application, andthen reinitiating the session by beginning use on a second piece ofcycling equipment, which may occur by reapplying the RFID card to thecycling equipment or unpausing the session on their smart phoneapplication. The timespan may be fixed by the facility's configurationof the system, such as 5 minutes, or configured by the user, eitherallowing adequate time for a user to move between equipment pieceswithout the session prematurely ending or allow for collection ofresidual metrics, such as heart-rate monitoring during a users personalcool-down routine. It can be appreciated that extending the timespan toa longer period, such as 1 hour, will allow a user to capture theirreal-time exercise data across multiple pieces of exercise equipment andultimately provide them the data in the ECOFIT Database 505 as a generalworkout, as opposed to providing them as discrete workouts linked toindividual pieces of equipment.

Metrics

A metric is a particular measurable value that the ECOFIT systemextracts from exercise equipment. In addition the installed system mayreceive from external equipment, such as Heart Rate Monitors or otherpersonal monitoring equipment. A simple example of a metric is watts.Most modern exercise equipment capture watts generated by a user. Thesystem can extract measured watts and make it available on the ECOFITLocal Installation 550 for real-time consumption as well as to theDatabase 505 for near real-time web applications and off-line storagefor later usage. Because each manufacturer defines their metricsdifferently, the system includes its own defined list of metrics whichcan be translated from manufacturer metrics. This allows the system tobe easily adapted to any piece of exercise equipment while maintainingan abstracted front-end that appears the same for any underlyingequipment.

Table 1.0, below, lists exemplary metrics that may be measured, eitherdirectly or calculated virtually over a period of a session, such asaverages, maximum or minimum counts, and their associated units ofmeasure. Many of the metrics are generated or measured by equipment,however the Aggregator 420 may also generate metrics which may be neededby the ECOFIT Database 505. For example, a “Duration” metric isgenerated by the Aggregator 420 and is the duration of the particularnumber of seconds elapsed since the beginning of a session which enablesa display to have an accurate count of the session length which may bedisplayed for a user.

TABLE 1.0 ECOFIT Metric Name ID Unit of Measure Distance Horizontal 0001Meters Distance Vertical 0002 Meters Calories 0003 Calories Speed(Control and Display Metric) 0004 KM/H Speed Average 0005 KM/H SpeedMinimum 0006 KM/H Speed Maximum 0007 KM/H Pace 0008 H/KM Pace Average0009 H/KM Pace Minimum 000A H/KM Pace Maximum 000B H/KM Cadence 000C RPMCadence Average 000D RPM Cadence Minimum 000E RPM Cadence Maximum 000FRPM Heart Rate 0010 BPM Heart Rate Average 0011 BPM Heart Rate Minimum0012 BPM Heart Rate Maximum 0013 BPM METS 0014 METs METS Average 0015METs METS Minimum 0016 METs METS Maximum 0017 METs Power 0000 WattsPower Average 0018 Watts Power Minimum 0019 Watts Power Maximum 001AWatts Electrical Power 001E Watts Electrical Power Average 001B WattsElectrical Power Minimum 001C Watts Electrical Power Maximum 001D WattsElectrical Watt Hours 001F Watt Hours Level (Resistance) 0020 Grade(Incline) 0021 % Utilization 0022 Seconds Watt Hours 1000 Watt HoursDuration 1001 Seconds Points FFFF ECOFIT PointsECOFIT Local Network

All elements of an ECOFIT Local Installation 550 which produce orconsume data do so on the ECOFIT Local Network. In one embodiment thisnetwork 410 520 is a subnet behind its own router to avoid bogging downa facility's network, and/or, in another embodiment, it may be operatingon the facility or building's own network. UDP multicast fromAggregators 420 for the purpose of real-time availability of usergenerated metrics is done on this local network and does not extend outto the parent network, i.e., to an external network to the facility. Asa result consumption of UDP multicasts is also only done on the ECOFITLocal Network and may not be consumed outside this network.

This subnet enables devices or consumers to connect to the Aggregator420 to consume the streaming data in real-time.

In an alternate embodiment, the subnet is created with a virtual router,and allows for ease of devices, such as a smartphone device configuredto receive ECOFIT metrics, to pair with the Aggregator and consume thedata without the need to install a separate hardware based router.

The exception to this is multicast data that is streamed through theAdapter to the external network to allow for facility-to-facilitycompetition. For data that is needed by devices external to the networkduring a session, such as for facility-to-facility or other peer-to-peercompetition, the Adapter may include a second database, referred to asan Uplink Server, hosted at the same location as the ECOFIT database 505such as on the ECOFIT Server and Database 504. The Uplink Server may actas a virtual Aggregator for inter-facility comparison of data, byreceiving data from the Aggregator 420 as it is collected, and thenallowing other facilities to consume the data as requested by theirdisplay based devices. This enables any device that can connect to thelocal network 520 to stream any data from the Aggregator 420 in areal-time, or substantially real-time manner. It should be appreciatedby one skilled in the art that various protocols can be implemented bythe Uplink Server, such as TCP, to communicate the data. In oneembodiment the Uplink Server is communicated to in real-time, at thesame rate the UDP multicast data is sent from the Aggregator 420.Alternately the Uplink Server is transmitted to on demand, for exampleonly when data from a piece of equipment is requested. This will ensureefficiencies of the network connection and data transfer. To furtherensure efficiencies, it should be appreciated that facility-to-facilityconnectivity and communication may also occur by direct connection ofone facility's Aggregator 420 to another facility's Aggregator 420,bypassing the Uplink Server.

The system is designed to easily adapt to new exercise equipment withvarying communication protocols and metric definitions. To accomplish,or any required change in the system, a configuration may be done by thefacility. ECOFIT Local Installations 550 may be defined at the ECOFITwebsite 507 where equipment is arranged, necessary IDs (such as uniqueID's for equipment 501, Sensor Nodes 405 and Base Stations 415) areassigned and configuration files are generated. The majority of theECOFIT Local Installation 550 configuration is communicated through theconfiguration files, which may be generated by the website 507 or theECOFIT Server and Database 504 which may be on a network external to thelocal facility. In an alternate embodiment the configuration may be donethrough direct connection to the ECOFIT Server and Database 504.

There may be two types of configuration files that may be used, andcreation of the configuration files will be discussed in detail later.The first is the display configuration which indicates which UDPmulticast streams displays or devices should consume, and the second isthe configuration files used by the Aggregator 420 and subsequentdownstream devices such as the Base Station 415 and Sensor Nodes 405.

In either case the configuration files are pulled down from the web inan open standard format and are parsed at the displays and Aggregators,such as XML, JSON or other format. This web access may be a web-basedintranet, extranet or internet based service on a network external tothe local location, or via an internal network or server, such as theECOFIT Server and Database 504 505. Sensor Nodes 405 are associated toBase Stations 415, Base Stations 415 are associated to Aggregators 420,and Displays 435 are associated to equipment 501 (via the Sensor Nodes405) by these configuration XMLs. UDP multicast IP and port number pairsare associated to equipment, allowing for an addressing scheme on thelocal network or for the location 550. UDP Groups may also be formed inthe configuration file and associated with multiple pieces of equipment,or for one Aggregator. For example, a particular piece of equipment(Sensor Node A) might be associated to multicast IP 224.0.0.100 port1025. If a display needs to consume metrics from Sensor Node A, itsconfiguration file will include a look-up table with an entry forSession Node A indicating that the metrics can be extracted byconnecting to multicast IP 224.0.0.100 port 1025. The Aggregator 420responsible for producing Sensor Node A's metrics will have obtained itsmulticast IP 224.0.0.100 from its configuration file and will have alsobeen instructed to make available on UDP port 1025 the metrics extractedfrom the wireless link for Sensor Node A.

In one embodiment the configuration file is pushed to the Aggregator420, which then distributes the configuration file to all devices (BaseStations 415, Sensor Nodes 405, etc.) that are connected downstream ofthe Aggregator 420. Alternately an Aggregator 420 polls or queries theECOFIT Database and Server 504 for a new configuration file.

Configuration files are also responsible for defining which metrics aDisplay 435 or any other UDP based consumer 510 511 is interested inconsuming. Since manufacturers have varying definitions of metrics andvarying communication protocols, the configuration files also need tocontain information that the Sensor Node 405 may use to extract thesemetrics. Configuration files that are parsed and transmitted over theWireless Link 410 to a Sensor Node 415 contain lists of metric IDsassociated to protocol commands to extract those metrics as well asexpected response length. This allows for great variability in protocoland metric definition. FIG. 8 illustrates a diagram of an exemplarypacket received by the Aggregator 420. Once the configuration file hasused to configure the Aggregator 420 and the devices coupled to it, forexample the Base Station 415, the aggregator can simply receive andparse a packet of data.

Referring in detail to FIG. 8, the configured packet 800 may include anEquipment ID field 801, a User ID field 802, a State field 803, severalmetric fields 804 805, and a delimiter field 806. It will be appreciatedthat the logical structure of the data packet, both in terms of thefields included therein, the format of the data, the arrangement of thefields, etc. is implementation dependent. For example the Equipment IDfield 801 may be a 16 byte field that allows for the unique ID of apiece of exercise equipment 501 and the User ID field 802 also a 16 bytefield that allows for a unique ID of a user, such as a RFID code, bothof which are definable pieces of data. The State 803 may be a 2 bytefield that allows for four states, such as 0 “Equipment on, no session,metrics”, 1 “Equipment on, new session, metrics”, 2 “Equipment on,session going, metrics”, or 3 “Equipment off, no metrics”. Referringback to FIG. 7, block 730, in operation the State field 803 allows theAggregator 420 to know when to stop or start a new session. There mayalso be flags associated with each of the States to identify for theAggregator 420 other commands to execute on when managing the data, suchas erasing or making anonymous certain user data fields for privacy orreporting issues. The metric fields 804 relate to the specific metricsexpected to be monitored by the exercise equipment 501, as defined bythe configuration file. The configuration file ensures metrics fields804 805 are formatted in consistent byte length so the Aggregator 420can read and understand a particular value of incoming packet based onits position in the packet itself without the need to have an identifieror tag (i.e., “Speed Metric” at the start of each packet's field). Inone embodiment the packet delimiter field 806 may be included in thepacket to identify the completion of the packet. In an alternateembodiment the delimiter field 806 may not be required as theconfiguration file may define the number of metrics to be read, and thusthe Aggregator 420 will not need to continue to parse a captured packetonce the last data piece of the expected ‘n’ pieces of definable datahas been received.

As described earlier for each Aggregator 420, these ‘raw’ metrics areconverted to ECOFIT metrics using processes which are associated to themetric ID. Examples of the metrics and associated ECOFIT metric ID's areshown in Table 1.0. These processes are also contained within theconfiguration file that the Aggregator 420 retrieves from theaforementioned website or other networks.

As described earlier, a display or associated UDP consumer device mayrequire a different configuration file, and thus packet sent to such adisplay contains the same data as the sample described above, along withspecific definable data needed, such as equipment and user ID data. Thisallows a display to acquire a session at any time and immediately knowthe status of that session. In addition the packet in this example mayalso include a status indicator which tells the display if a user is inthe middle of a workout or if the equipment is at idle.

Website and Databases

The ECOFIT Database system 504 is a relational database designed tostore a variety of data points captured from sources referred to as“Equipment”. Data is captured in the system as periods of activity,known as “Sessions”, these sessions store all definable points of data.

These points of definable data include:

Which piece of equipment this data was captured from;

Where the session occurred (A “Location”);

Which identification card was used to register a session;

The data points captured during the session.

This system defines captured data by metrics, which are a combination ofa common name (Example: Watts), a unit of measurement (Example: W), whattype of data the metric is (Example: String, Int, Floating Point), andwhether the data can be aggregated. These metrics are used to recorddata at both the session level (aggregated session metrics) and at the“Sample” level. Samples are individual points of time within a givensession, specified as a particular number of seconds since the beginningof a session, such as the “Duration” metric. Metrics can record anypoint of consumer or exercise data that is needed, as long as it can bedefined by a name, unit, and type of data.

For example, each data packet that is sent from the Aggregator 420 tothe ECOFIT Database 505 may contain a full definition of cardio sessionthat a user is experiencing. This data may include a header with thedefinable points of data, an aggregate metric packet which contains thefinal values for all metrics for the session (as paired metric IDs andvalues), and a complete set of samples, as described earlier. Eachsample for the workout may include one or more offset values, which isthe number of seconds from the start of the session that the sampleoccurred at (for example counted in 10 second increments, i.e., 0, 10,20, 30 . . . ), as well as it's own set of metric ID/value pairs. Theoffset value may be generated into the stored sample dataset by theAggregator 420. These sets of metrics may vary from packet to packet,allowing unchanged or unnecessary values to be left out of individualsamples to reduce the wire size of the pack.

In one embodiment samples are transmitted, polled or received from theSensor Node 405, such as every 10 seconds, for the duration of thesession. This example timeframe of 10 seconds may be decreased orincreased to match the appropriate sampling rate that corresponds withthe monitoring needs and still takes into consideration the bandwidthlimitations of the any networks 320 410 520. For example, for manyequipment users sampling greater than 10 seconds may not yield a largevariation in measured metrics (i.e., average, minimum, maximum) thussampling at a greater rate will only increase the volume of metricstransferred over the wireless link 410 yet yield no measurable viewingof results for a user. In an alternate embodiment the samples aregenerated or received at a greater rate, where a facility may beproviding a higher resolution of information to users, or in yet anotheralternate embodiment the samples are generated or received at a slowerrate where a facility may need to only provide samples at a lower rate.

Each given session within the system is registered to an RFID card, orother similar ID login, as described earlier. This ID login or RFID cardcontains a unique identification number, which is recorded within thedatabase. Each card within the system is then linked to a member, who isthen linked to a login account. These accounts are used to access theECOFIT website 507 by a user in order to view personalized or groupsession data.

Each piece of equipment 501 within the system is considered a uniqueinstance of a model of equipment, which contains any information that isnot unique to a specific instance of equipment. Each piece of equipmentalso tracks its own location, as well as other important informationsuch as serial number. These equipment model or location information isthe basis for the definable data that is used by the system.

The database system 504 also makes use of promotions, which are limitedofferings which allow additional ECOFIT Points to be earned. Thesepromotions require an individual to meet certain requirements, includingbeing in a specific location, during a specific time, and exceedingcertain values in a given metric.

ECOFIT Points are tracked in independent “pools” of points, which areeach stored separately to allow points to be redeemed to differentpurposes. This would allow a user to earn points for multipleorganizations, all tracked to one account.

The database system 504 allows cards or other unique ID's to beregistered to sessions without first being assigned to a member. Thisfeature allows an end user to submit sessions using a card that theyhave not yet had the chance to register using the web interface. Forexample a facility may offer a guest or temporary user to utilize themachines and ECOFIT System in advance of actual user registration.

In one embodiment the ECOFIT Points Program allows ECOFIT members toearn ECOFIT Points while exercising. Metrics are gathered from theequipment the user is using and are sent as a session to the Database.At this point, the metrics are converted to points using a pre-definedalgorithm. These points are credited to the user in the Database and canbe exchanged at participating businesses for goods and services.

The website 507 which is served by the ECOFIT Server and Database 504,is generally designated herein as a Website System, allows direct accessto the data stored within the Server and Database 504, as well as theability to modify and input certain key points of user data. The enduser interacts with the database system in order to view session datastored within the database 505, to register new ID cards to their loginand member information, and to view options to redeem their points.

The website system will allow users to view all sessions which weresubmitted with their ID, such as an RFID card, which are registered totheir account. These sessions will display all metrics captured as wellas representations of activity over time through the sample system,either via the ECOFIT website 507 or other display device 508.

In one embodiment a user may have multiple cards registered to them atone time, and can add new cards to their account by entering the numberor ID on the face of the card into the card registration interface. Inan alternate embodiment the user has a single card or ID which isassociated with them. For example a user may have a smartphone that hasa RFID embedded in it which can be linked with the user login. Thiswould enable a user to use their personal phone as the device to notonly start and stop a session while at the equipment, but also use it asa single login for equipment that may be spread across multiplelocations, such as a home equipment system enabled with the ECOFITsystem, and a professional exercise facility which also has an ECOFITsystem.

The ECOFIT website interface 507 also allows the user to view theirpoints. Point totals for various pools will be shown, and the user cansee what products and coupons their points can be applied towards. Inaddition to point totals, the user can see a record of all pointtransactions, including how many points were earned from each session.Also, the user can view promotions which they could potentially earn,filtered by which facilities and equipment they use most frequently.

Advertisers, facility managers, and other staff will also have access tofunction-specific portals which provide interfaces useful to their areaof responsibility. Advertisers will be able to view the impact ofadvertising campaigns, facility managers will be able to see usestatistics for their facility, and administrative staff will be able tomanage members and their login information in order to provide customerservice. These interfaces may be accessed separately from the standarduser interface, and will may their own security processes and logininformation.

Configuration Interface

An ECOFIT Local Installation 550 may be defined and altered by afacility through the ECOFIT Website 507 interface. Facility owners havethe ability to log onto the ECOFIT Website 507 and build up aninstallation using a graphical interface wherein they can drag and dropbasic ECOFIT installation elements. These elements include exerciseequipment 501, Aggregators 420, Displays 435 and Inverters. Displays canbe further customized for screen appearance, graphical softwareapplications, such as Flash widgets may be used, and which equipment theconsume data from. An example of an ECOFIT Web Configuration is shown inFIG. 9, where a user may configure to order or active a group ofexercise equipment 501 with an associated Aggregator 420 and Display 435for one location in the facility. It should be appreciated that theassociated required equipment, such as the sensor nodes and basestations, are not illustrated in this visual representation, yet will beincluded in the local installation.

Once an installation has been created, an order summary may be sent tothe ECOFIT device manufacturer and the order is prepared. The facilityowner is billed and any required communication between the owner andECOFIT is carried out. The equipment is prepared and installed at thefacility. The final portion of the installation process is to activatethe installation, again through the web interface 507. This will resultthe website 507, and the ECOFIT Server and Database 504 it is coupledwith, to compile a series of configuration files outlining associationsbetween the equipment at the facility. Configuration files are thentransmitted the Displays 435 and Aggregators 420 after installation intothe local facility 550. The Displays 435 use the configuration files toconnect to the correct data feeds and to receive the correct content forthe display software. The Aggregators 420 use the configuration files toassociate to particular pieces of exercise equipment 501 through theBase Station 415 and the Wireless Links 410 or networks 520 to otherdata consuming devices as well as to translate raw metrics into ECOFITmetrics.

Targeted Advertisement and Demographic Metrics

The ECOFIT Server and Database 504 will also allow for targetedadvertisement to users through ECOFIT Displays within facilities. When auser activates the system, the database 504 will be able to providetargeted content based on the users point redemption, equipmentpreferences, and demographic (age, sex, etc.).

In addition to providing targeted advertisements, the system can also beused to provide statistical information to advertising firms. Thisinformation may be any combination of data points from within thedatabase system aggregated into an easy to understand form.

Maintenance Program

The Maintenance Program makes use of captured metrics to provide updateson the status of pieces of equipment 501 connected into the Server andDatabase 504 as well as tracking usage metrics for the purposes ofscheduled maintenance. This system captures metrics from each individualpiece of equipment and stores it in a central relational databasesystem, which may reside on the ECOFIT Database and Server 504 or on aseparate database such as the equipment manufacturer or the facility.This database tracks metrics relevant to each specific piece ofequipment and stores them to enable reporting on a defined schedule.These reports are used to signal maintenance personnel when certaintriggers are reached. Triggers are defined as sets of circumstances thatrequire notification, and store within them the criteria under which atrigger would execute.

In addition to storing the ongoing use data of a piece of equipment forpreventative maintenance, the system allows for the distribution of highpriority error alerts. These are unexpected errors that come as theresult of a catastrophic failure of the equipment. When such an erroroccurs at the equipment level, it is immediately stored in the databaseas its own report. This error is then immediately forwarded to theproper individual who can resolve the issue.

In the one example, a SportsArt use case, monitored exercise equipmentis placed within gyms and exercise facilities. Members of the facilities(users) register accounts with the central database system using the webinterface, and then use these cards when advertising. Sessioninformation is then used to credit individuals with points which can beredeemed for discounts at local business. The web site can then be usedto view session information and track points. The maintenance system canthen be used to track required maintenance statistics on the exerciseequipment and dispatch maintenance staff as needed.

In another example, a SciFit use case, monitored exercise equipment isused within rehabilitation therapy clinics, physiotherapy clinics, andother medical facilities. Patients are given cards registered to theirmedical profiles. The equipment registers data with the central databasesystem in order to track patient progress and to verify the outcome ofcourses of treatment. Customized web interfaces can be used by bothpatients and caretakers to track progress and analyze results.Aggregated information can be used to re-evaluate types of treatment andthe results they produce. The maintenance system can then be used totrack required maintenance statistics on the exercise equipment anddispatch maintenance staff as needed.

In another example monitored exercise equipment is placed withinfacilities in schools and tracks student data through the use of RFIDcards assigned to individual students. This data is used to verifystudent progress in physical education classes. In addition to trackingprogress, this data can be used to create lesson plans and gradestudents at the end of a course. Rich media displays in classes can beused to encourage students in their exercise and to pass on educationalmessages. The database system can be tied into educational social mediagames in order to encourage students to learn more about healthy lifehabits and choices. The maintenance system can then be used to trackrequired maintenance statistics on the exercise equipment and dispatchmaintenance staff as needed.

In another example a use case for the ECOFIT System is described,illustrating the use of captured metrics by various parties. Jane is anECOFIT member and participates in spin classes at her local fitness clubcalled Club Fitness. Every Sunday morning she goes to Club Fitness, getson an available cycle equipment 501 and casually drops her ECOFIT cardin the supplied trough on the cycle's display console. The RFID card isread by the embedded RFID reader in the trough, which is acts as theinterface to the base station 415, and her name and current total ECOFITPoints are retrieved from the ECOFIT Database 505. On the ECOFIT Display435 which faces the spin class, Jane's name appears along with her totalpoints and bar graphs for her watts generated and her cumulativewatt-hours total. To the right of the bar graphs, there are some localbusiness advertisements running in a loop. The class begins, and Jane'swatts bar graph begins to climb.

As Jane rides, the watts metric is captured from her spin cycle by theinternal ECOFIT Sensor Node 405. The cycle that Jane is using is aSportsArt G572U, manufactured by SportsArt Fitness located in Taiwan,Republic of China., upright cycle which captures energy and feeds itback into the electrical grid. As Jane rides, the amount of energy shefeeds back into the grid is communicated from the cycle's console overthe CSAFE protocol to the Sensor Node 405 in the form of watts. TheSensor Node 405 then uses the ECOFIT Wireless Link 410 to transfer thisraw watts metric to the ECOFIT Aggregator 420, which runs on the smallform factor PC mounted behind the display at the front of the class.This raw metric is translated at the Aggregator 420 to the ECOFIT wattsmetric. From this point, the ECOFIT watts metric is cached as part of arecord of Jane's current workout (session) and is also pushed out on thelocal network 520. The display 435 at the front of the class is attachedto the same local network 520 and is configured to consume from themetric stream that the Aggregator 420 has made available. Jane's wattoutput metric is being displayed in real-time as a bar chart showing herprogress. Jane's efforts are also being displayed at the Club Fitnessfront desk as part of a total class output. This front desk ECOFITDisplay 511 shows spin class schedules and Club Fitness promotions aswell.

The class has wrapped up, and Jane was happy to see from the displaythat she out-performed her rival on the cycle next to hers. These twoECOFIT users attend the same spin class every week and use competitionas a way to motivate themselves. Jane triumphantly removes her ECOFITcard from the trough and invites her spin class competitor to spend theafternoon shopping.

Upon removing her card, Jane has completed her session from the point ofview of the ECOFIT system. A session completion notification is passedup the Wireless Link 410 to the Aggregator 420 to indicate that therewill be no more watts metrics. The session is closed at the Aggregator420 and this is further communicated to the local network 520. Thedisplay at the front of the class shows an animation congratulating Janefor achieving top ECOFIT Points Leader status for this class. Thedisplay at the front desk indicates the good news as well.

The Aggregator 420 also uses this end-of-session indication to stopcaching watts metrics and closes the session record. It thencommunicates this record to the ECOFIT Database 505 where it is stored.Jane's ECOFIT Points earned for the session are calculated and added toher current total. Jane has been engaged enough to fill out her ECOFITprofile with her email address and some simple information aboutherself. The Database uses this information to send Jane a quick emailcongratulating her on accumulating extra points and even breaking herown personal session record at Club Fitness. Jane's doing well today!

To celebrate their achievements, Jane and her competitive friend decideto treat themselves to a wholesome lunch at Good Foods local whole foodseatery, having seen their advertisement while working out. Good Foods isa participating business in the ECOFIT Points program and Jane uses herpoints to pay for her lunch this time.

Good Foods is interested in the effectiveness of their advertising. Oncea month they receive a report compiled from the ECOFIT database andsystem 504 indicating how many times their ads have played, when theyplay, and statistics on who likely viewed the ads. They also see who ofthe ECOFIT members visit their eatery to use their points and which adsthey likely viewed. Good Foods uses this information to better targettheir advertisements as well as to better understand and serve theirguests. Jane and her friend finish their lunch and continue shopping.

In another example a use case for the ECOFIT System is described,illustrating the use of comparing users across multiple locations.Sherlock High school in Kansas City, Mo. wishes to improve theirPhysical Education program. Currently they don't feel that they canassess student progress effectively as well as keep students interestedand engaged in PE classes.

To improve the situation, Sherlock High school has recently invested infitness equipment enhanced with the ECOFIT System. They have mounted anECOFIT Display 435 in the gym and have a class total output visibleon-screen. The equipment 501 they chose is varied and includes cycles,treadmills and ellipticals and each one has an integrated heart ratemonitor. They have chosen to use heart rate as a metric to gradeindividual students on. The equipment manufacturer and the school have amutual desire to stay informed of how much the equipment is being usedand when they might need maintenance.

Interestingly enough, Moriarty Secondary (Sherlock's greatest rival) hasalso bought into the ECOFIT System in the hopes of alleviating similarissues with its PE program. These two schools often grapple forplacement in Football and Basketball city-wide.

After a few weeks and many PE classes, Sherlock has noted improvedefficiency and accuracy in grading thanks to the system. Individualstudent performance is easily tracked using ECOFIT cards (each oneassociated to a student as well as their personal information such asheight, weight, age etc.). The ECOFIT web portal can be easily queriedfor student performance and achievements. Students as well have becomefar more engaged, the display has a “cool factor” and they enjoyaccessing their performance information through the ECOFIT websitestudent portal as well as having their fitness achievements posted totheir Facebook accounts if they so choose. Even better, Sherlock Highschool has been regularly destroying Moriarty Secondary in inter-schoolcompetitions through the ECOFIT system during concurrent PE classes ofsimilar age and ability.

The equipment manufacturer that had generously supplied the fitnessequipment at cost has been regularly accessing the ECOFIT websitemanufacturer portal to get statistics on the usage of their machines.They use information such as what equipment is being used for how longto better assess how they might supply equipment to other schoolsinterested in the same program. They also use failure notificationsthrough the ECOFIT Maintenance Program to better understand what failson their equipment and improve their designs.

Both Sherlock High school and Moriarty Secondary also enjoy the benefitsof the Maintenance Program which allows them to have their equipment upand running for more time and to prevent catastrophic failures throughimproved maintenance scheduling.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be minimized. Accordingly, thedisclosure and the figures are to be regarded as illustrative ratherthan restrictive.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the invention or of what may beclaimed, but rather as descriptions of features specific to particularembodiments of the invention. Certain features that are described inthis specification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable sub-combination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a sub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings and describedherein in a particular order, this should not be understood as requiringthat such operations be performed in the particular order shown or insequential order, or that all illustrated operations be performed, toachieve desirable results. In certain circumstances, multitasking andparallel processing may be advantageous. Moreover, the separation ofvarious system components in the embodiments described above should notbe understood as requiring such separation in all embodiments, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

One or more embodiments of the disclosure may be referred to herein,individually and/or collectively, by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any particular invention or inventive concept. Moreover,although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b) and is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description, various features may begrouped together or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

It is therefore intended that the foregoing detailed description beregarded as illustrative rather than limiting, and that it be understoodthat it is the following claims, including all equivalents, that areintended to define the spirit and scope of this invention.

What is claimed is:
 1. A method for obtaining, from a sensor node, a setof metric data comprising a plurality of data elements collectedthereby, the method comprising: transmitting, by a processor of a basestation wirelessly via a first radio thereof, a data request, capable ofbeing received by the sensor node, for the set of metric data, the datarequest identifying the sensor node and further identifying a subset ofa set of channels and a sequence by which the sensor node is to switchtherebetween; receiving, by the sensor node, the data request;transmitting, by the sensor node responsive to the received datarequest, a response comprising at least a portion of the plurality ofdata elements over a first channel of the subset of channels accordingto the sequence and, subsequently, moving to another channel of thesubset of channels according to the sequence and listening for asubsequent data request for a first defined period of time, and afterthe first defined period of time has elapsed without receipt of thesubsequent data request, continuing to listen, according to thesequence, on each other channel of the subset of channels for the firstdefined period of time, until the subsequent data request is received oruntil the subset of channels has been exhausted; listening, by the basestation, for a response from the sensor node over the first channel, forthe first defined period of time or until the response is received;wherein when the response is received by the base station, moving, bythe base station, to the another channel according to the sequence andtransmitting the subsequent data request; wherein when the response isnot received by the base station over any of the subset of channels,transmitting, by the processor wirelessly via a second radio of the basestation, a sync request capable of being received by the sensor nodeover a set of base channels, the sync request identifying the sensornode and a defined channel of the subset of channels for the sensor nodeto listen for the subsequent data request from the first radio; whereinwhen the subset of channels has been exhausted without the sensor nodehaving received the subsequent data request, listening, by the sensornode, for the sync request on each of the set of base channels for asecond defined period of time until the sensor node receives the syncrequest; wherein when the sensor node receives the sync request, moving,by the sensor node, to the defined channel and listening on the definedchannel for a third defined period of time for the data request; andwherein when the third defined period of time expires without receipt bythe sensor node of the data request on the defined channel, moving, bythe sensor node to the set of base channels and listening for the syncrequest on each of the set of base channels for the second definedperiod of time until the sensor node receives the sync request.
 2. Themethod of claim 1, wherein the sensor node captures the set of metricdata from a piece of exercise equipment in real-time.
 3. The method ofclaim 1, wherein the received data request is repeatedly transmittedover a defined time interval.
 4. The method of claim 1, wherein when thesensor node receives the received data request that does not identifythe sensor node, the sensor node ignores the received data request. 5.The method of claim 1 further comprising addressably combining, by theprocessor, the received set of metric data from the sensor node; andbroadcasting, by the processor, the addressably combined received set ofmetric data over a network.
 6. A method for obtaining, from a sensornode, a set of metric data comprising a plurality of data elementscollected thereby, the method comprising: transmitting, by a processorof a base station wirelessly via a first radio thereof, a data requestcapable of being received by the sensor node, for the set of metricdata, the transmitted data request identifying the sensor node andfurther identifying a subset of a set of channels and a sequence bywhich the sensor node is to switch therebetween; listening, by the basestation, for a response from the sensor node over a first channel, for afirst defined period of time or until the response is received; whereinwhen the response is received by the base station, moving, by the basestation, to another channel according to the sequence and transmitting asubsequent data request; wherein when the response is not received overany of the subset of channels, transmitting, by the processor wirelesslyvia a second radio of the base station, a sync request capable of beingreceived by the sensor node over a set of base channels, the syncrequest identifying the sensor node and a defined channel of the subsetof channels for the sensor node to listen for the transmitted datarequest from the first radio.
 7. The method of claim 6, wherein thetransmitted data request is repeatedly transmitted over a defined timeinterval.
 8. A method for transmitting, by a sensor node, a set ofmetric data comprising a plurality of data elements collected thereby,the method comprising: receiving, by the sensor node, a data request totransmit the set of metric data, the received data request identifyingthe sensor node and further identifying a subset of a set of channelsand a sequence by which the sensor node is to switch therebetween;transmitting, by the sensor node responsive to the received datarequest, a response comprising at least a portion of the plurality ofdata elements over a first channel of the subset of channels accordingto the sequence and, subsequently, moving to another channel of thesubset of channels according to the sequence and listening for asubsequent data request for a first defined period of time, and afterthe first defined period of time has elapsed without receipt of thesubsequent data request, continuing to listen, according to thesequence, on each other channel of the subset of channels for the firstdefined period of time, until the subsequent data request is received oruntil the subset of channels has been exhausted; wherein when the subsetof channels has been exhausted without the sensor node having receivedthe subsequent data request, listening, by the sensor node, for a syncrequest on each of a set of base channels for a second defined period oftime until the sensor node receives the sync request; wherein when thesensor node receives the sync request, moving, by the sensor node, to adefined channel and listening on the defined channel for a third definedperiod of time for the subsequent data request to transmit the pluralityof data elements; and wherein when the third defined period of timeexpires without receipt by the sensor node of the subsequent datarequest on the defined channel, moving, by the sensor node to the set ofbase channels and listening for the sync request on each of the set ofbase channels for the second defined period of time until the sensornode receives the sync request.
 9. The method of claim 8, wherein thesensor node captures the metric data from a piece of exercise equipmentin real-time.
 10. The method of claim 8, wherein when the received datarequest does not identify the sensor node, the sensor node ignores thereceived data request.
 11. A system for obtaining, from a sensor node, aset of metric data comprising a plurality of data elements collectedthereby, the system comprising: at least one sensor node, the sensornode including a transmitter and a receiver; the transmitter operativeto transmit a response comprising the plurality of data elements over afirst channel of the subset of channels according to a sequence; and thereceiver operative to listen for a data request identifying the sensornode and further identifying a subset of a set of channels and thesequence by which the sensor node is to switch therebetween, wherein thereceiver is further operative to subsequently move to another channel ofthe subset of channels according to the sequence and listen for asubsequent data request for a first defined period of time, and afterthe first defined period of time has elapsed without receipt of thesubsequent data request, continue to listen, according to the sequence,on each other channel of the subset of channels for the first definedperiod of time, until the subsequent data request is received or untilthe subset of channels has been exhausted; the receiver being furtheroperative to, when the subset of channels has been exhausted, listen fora sync request for a second defined period of time on each of a set ofbase channels, wherein the sync request identifies the sensor node and adefined channel of the subset of channels for the sensor node to listenfor the data request from the first radio, and listen on the definedchannel of the subset of channels for a third defined period of time forthe data request to transmit the plurality of data elements; and a basestation including a processor, a first radio and a second radio, thefirst radio being operative to transmit wirelessly by the processor, thedata request and the subsequent data request being capable of beingreceived by the at least one sensor node; the base station being furtheroperative to listen for a response from the at least one sensor nodeover the first channel for the first defined period of time or until theresponse is received, and when the response is received by the basestation, move, by the base station, to another channel according to thesequence and transmit the subsequent data request, and when the responseis not received over any of the channels, transmit, wirelessly via asecond radio of the base station, a sync request capable of beingreceived by the sensor node over a set of base channels, the syncrequest identifying the sensor node and a defined channel of the subsetof channels for the sensor node to listen for the data request from thefirst radio.
 12. The system of claim 11, wherein each of the at leastone sensor node is operative to collect more than one set of metricdata.
 13. The system of claim 11, wherein each of the at least onesensor node is capable of capturing the set of metric data from a pieceof exercise equipment in real-time.
 14. The system of claim 11, whereinthe first radio is operative to repeatedly transmit the data request andthe subsequent data request over a defined time interval.
 15. A basestation for obtaining a set of metric data from a set of sensor nodes,the base station comprising: a processor, a first radio and a secondradio; the processor being operative to transmit wirelessly via thefirst radio, a data request capable of being received by at least one ofthe set of sensor nodes, for the metric data, whereby the transmitteddata request identifies the at least one sensor node and furtheridentifies a subset of a set of channels and a sequence by which thesensor node is to switch therebetween; the processor being furtheroperative to listen, via the first radio, for a response from the atleast one sensor node over a first channel, for a first defined periodof time or until the response is received, wherein when the response isreceived, move by the processor, to another channel on the first radioaccording to the sequence and transmit a subsequent data request whenthe response is not received over any of the channels, transmit, by theprocessor wirelessly via the second radio, a sync request capable ofbeing received by the sensor node over a set of base channels, the syncrequest identifying the sensor node and a defined channel of the subsetof channels for the sensor node to listen for the subsequent datarequest from the first radio.
 16. The base station of claim 15, whereinthe first radio is operative to repeatedly transmit the data request andthe subsequent data request over a defined time interval.
 17. A sensornode for transmitting a set of metric data comprising a plurality ofdata elements, the sensor node comprising: a receiver operative tolisten for a data request, wherein the data request identifies thesensor node and further identifies a subset of a set of channels and asequence by which the sensor node is to switch therebetween, thereceiver being further operative to subsequently move to another channelof the subset of channels according to a sequence and listen for asubsequent data request for a first defined period of time, and afterthe first defined period of time has elapsed without receipt of thesubsequent data request, continue to listen, according to the sequence,on each other channel of the subset of channels for the first definedperiod of time, until the subsequent data request is received or untilthe subset of channels has been exhausted, the receiver furtheroperative to listen for a sync request for a second defined period oftime on each of a set of base channels, wherein the sync requestidentifies the sensor node and a defined channel of the subset ofchannels for the sensor node to listen for the subsequent data request,and listen on the defined channel of the subset of channels for a thirddefined period of time for the subsequent data request, to transmit theplurality of data elements; and a transmitter operative to transmit aresponse comprising the plurality of data elements over a first channelof the subset of channels according to the sequence.
 18. The sensor nodeof claim 17, wherein the sensor node is operative to collect more thanone set of metric data.
 19. The sensor node of claim 17, wherein thesensor node is capable of capturing the set of metric data from a pieceof exercise equipment in real-time.
 20. The sensor node of claim 17,wherein the sensor node captures the set of metric data from a piece ofexercise equipment in real-time.